home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dlaein.z / dlaein
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDLLLLAAAAEEEEIIIINNNN((((3333FFFF))))                                                          DDDDLLLLAAAAEEEEIIIINNNN((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DLAEIN - use inverse iteration to find a right or left eigenvector
  10.      corresponding to the eigenvalue (WR,WI) of a real upper Hessenberg matrix
  11.      H
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      SUBROUTINE DLAEIN( RIGHTV, NOINIT, N, H, LDH, WR, WI, VR, VI, B, LDB,
  15.                         WORK, EPS3, SMLNUM, BIGNUM, INFO )
  16.  
  17.          LOGICAL        NOINIT, RIGHTV
  18.  
  19.          INTEGER        INFO, LDB, LDH, N
  20.  
  21.          DOUBLE         PRECISION BIGNUM, EPS3, SMLNUM, WI, WR
  22.  
  23.          DOUBLE         PRECISION B( LDB, * ), H( LDH, * ), VI( * ), VR( * ),
  24.                         WORK( * )
  25.  
  26. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  27.      DLAEIN uses inverse iteration to find a right or left eigenvector
  28.      corresponding to the eigenvalue (WR,WI) of a real upper Hessenberg matrix
  29.      H.
  30.  
  31.  
  32. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  33.      RIGHTV   (input) LOGICAL
  34.               = .TRUE. : compute right eigenvector;
  35.               = .FALSE.: compute left eigenvector.
  36.  
  37.      NOINIT   (input) LOGICAL
  38.               = .TRUE. : no initial vector supplied in (VR,VI).
  39.               = .FALSE.: initial vector supplied in (VR,VI).
  40.  
  41.      N       (input) INTEGER
  42.              The order of the matrix H.  N >= 0.
  43.  
  44.      H       (input) DOUBLE PRECISION array, dimension (LDH,N)
  45.              The upper Hessenberg matrix H.
  46.  
  47.      LDH     (input) INTEGER
  48.              The leading dimension of the array H.  LDH >= max(1,N).
  49.  
  50.      WR      (input) DOUBLE PRECISION
  51.              WI      (input) DOUBLE PRECISION The real and imaginary parts of
  52.              the eigenvalue of H whose corresponding right or left eigenvector
  53.              is to be computed.
  54.  
  55.      VR      (input/output) DOUBLE PRECISION array, dimension (N)
  56.              VI      (input/output) DOUBLE PRECISION array, dimension (N) On
  57.              entry, if NOINIT = .FALSE. and WI = 0.0, VR must contain a real
  58.              starting vector for inverse iteration using the real eigenvalue
  59.              WR; if NOINIT = .FALSE. and WI.ne.0.0, VR and VI must contain the
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDLLLLAAAAEEEEIIIINNNN((((3333FFFF))))                                                          DDDDLLLLAAAAEEEEIIIINNNN((((3333FFFF))))
  71.  
  72.  
  73.  
  74.              real and imaginary parts of a complex starting vector for inverse
  75.              iteration using the complex eigenvalue (WR,WI); otherwise VR and
  76.              VI need not be set.  On exit, if WI = 0.0 (real eigenvalue), VR
  77.              contains the computed real eigenvector; if WI.ne.0.0 (complex
  78.              eigenvalue), VR and VI contain the real and imaginary parts of
  79.              the computed complex eigenvector. The eigenvector is normalized
  80.              so that the component of largest magnitude has magnitude 1; here
  81.              the magnitude of a complex number (x,y) is taken to be |x| + |y|.
  82.              VI is not referenced if WI = 0.0.
  83.  
  84.      B       (workspace) DOUBLE PRECISION array, dimension (LDB,N)
  85.  
  86.      LDB     (input) INTEGER
  87.              The leading dimension of the array B.  LDB >= N+1.
  88.  
  89.      WORK   (workspace) DOUBLE PRECISION array, dimension (N)
  90.  
  91.      EPS3    (input) DOUBLE PRECISION
  92.              A small machine-dependent value which is used to perturb close
  93.              eigenvalues, and to replace zero pivots.
  94.  
  95.      SMLNUM  (input) DOUBLE PRECISION
  96.              A machine-dependent value close to the underflow threshold.
  97.  
  98.      BIGNUM  (input) DOUBLE PRECISION
  99.              A machine-dependent value close to the overflow threshold.
  100.  
  101.      INFO    (output) INTEGER
  102.              = 0:  successful exit
  103.              = 1:  inverse iteration did not converge; VR is set to the last
  104.              iterate, and so is VI if WI.ne.0.0.
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.